"""
1.  按经验将不同的变量存储不同的类型的数据

2. 验证这些数据到底是什么类型 -- 检测数据类型 -- type(数据)
"""

# int -- 整型
num1 = 1

# float -- 浮点型，就是小数
num2 = 1.1
print(type(num1))
print(type(num2))

# str -- 字符串，特点：数据都要带引号
a = 'hello world'
print(type(a))

# bool -- 布尔型，通常判断使用，布尔型有两个取值 True 和 False
b = True
print(type(b))

# list -- 列表
c = [10, 20, 30]
print(type(c))

# tuple -- 元组
d = (10, 20, 30,30)
print(type(d))
print(d)

# set -- 集合
d = {10, 20, 30, 30}
print(type(d))
print(d)

# dict -- 字典 -- 键值对
f = {'name': 'TOM', 'age': 18}
print(type(f))

"""
在Python中，tuple（元组）和set（集合）是两种不同的数据类型，它们有一些关键的区别：

1. **可变性：**
   - **Tuple（元组）**是不可变的数据类型，一旦创建就不能被修改。你不能添加、删除或修改元组的元素。
   - **Set（集合）**是可变的数据类型，你可以添加或删除集合中的元素。

```python
# Tuple的示例
my_tuple = (1, 2, 3)
# 以下语句将引发错误，因为元组是不可变的
# my_tuple[0] = 4  

# Set的示例
my_set = {1, 2, 3}
my_set.add(4)
my_set.remove(2)
```

2. **重复元素：**
   - **Tuple（元组）**可以包含重复的元素，因为元组是有序的，允许元素重复。
   - **Set（集合）**不能包含重复的元素，因为集合是无序的，而且每个元素必须是唯一的。

```python
# Tuple的示例，可以包含重复元素
my_tuple = (1, 2, 2, 3, 4)

# Set的示例，不能包含重复元素
my_set = {1, 2, 2, 3, 4}
print(my_set)  # 输出: {1, 2, 3, 4}
```

3. **语法表示：**
   - **Tuple（元组）**使用圆括号 `()` 表示，元素之间用逗号分隔。
   - **Set（集合）**使用花括号 `{}` 表示，元素之间也用逗号分隔。

```python
# Tuple的示例
my_tuple = (1, 2, 3)

# Set的示例
my_set = {1, 2, 3}
```

选择使用tuple还是set取决于你的需求。如果你需要一个有序且不可变的数据集合，并且允许元素重复，那么使用tuple。如果你需要一个无序且可变的集合，并且每个元素都是唯一的，那么使用set。
"""